<?php
// 主文件：server.php
session_start();

// 登录状态文件路径
$loginFile = "user_status.json";

// 确保文件存在并初始化
if (!file_exists($loginFile)) {
    file_put_contents($loginFile, json_encode(["loggedIn" => false]));
}

// 设置响应头，确保返回 JSON 格式
header('Content-Type: application/json; charset=utf-8');

// 处理请求逻辑
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取前端发送的 JSON 数据
    $input = json_decode(file_get_contents('php://input'), true);

    // 验证数据是否有效
    if (isset($input['loggedIn']) && $input['loggedIn'] === true) {
        // 保存登录状态到文件
        $data = [
            "loggedIn" => true,
            "username" => $input['username'] ?? "未知用户"
        ];
        file_put_contents($loginFile, json_encode($data, JSON_PRETTY_PRINT));
        echo json_encode(["status" => "success", "message" => "登录状态已保存"]);
    } else {
        // 清除登录状态
        file_put_contents($loginFile, json_encode(["loggedIn" => false]));
        echo json_encode(["status" => "success", "message" => "登录状态已清除"]);
    }
    exit;
}

// GET 请求：检查登录状态
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    // 从文件读取登录状态
    $data = json_decode(file_get_contents($loginFile), true);

    // 返回登录状态
    if (isset($data['loggedIn']) && $data['loggedIn'] === true) {
        echo json_encode([
            "loggedIn" => true,
            "username" => $data['username'] ?? "未知用户"
        ]);
    } else {
        echo json_encode([
            "loggedIn" => false
        ]);
    }
    exit;
}

// 如果请求类型不被支持
http_response_code(405); // 方法不允许
echo json_encode(["status" => "error", "message" => "不支持的请求方法"]);
?>